7. 整数反转

7. 整数反转

Similar Question

leading to the advanced question

Solution Tips

js 是动态类型, 并没有 32 位整形的限制, 默认采用的是 64 位浮点数那种, 所以这个题目对于 js 来说是没有意义的

主要是学习一个模除和取余数做反转的技巧就可以了

方案

class Solution {
    public int reverse(int x) {
        int rev = 0;
        while (x != 0) {
            if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {
                return 0;
            }
            int digit = x % 10;
            x /= 10;
            rev = rev * 10 + digit;
        }
        return rev;
    }
}
var reverse = function(x) {
    let rev = 0;
    while (x !== 0) {
        const digit = x % 10;
        x = ~~(x / 10);
        rev = rev * 10 + digit;
        if (rev < Math.pow(-2, 31) || rev > Math.pow(2, 31) - 1) {
            return 0;
        }
    }
    return rev;
};